38. 外观数列
38. 外观数列
Similar Question
Solution Tips
方案一: 模拟 + 递归
var countAndSay = function(n) {
return recursive(n - 1, '1');
function recursive(n, str) {
if (n > 0) {
let curNum = str[0];
let count = 1;
let nextStr = '';
for (let i = 1; i < str.length; i++) {
if (curNum === str[i]) {
count++;
}
else {
nextStr += `${count}${curNum}`
curNum = str[i];
count = 1;
}
}
// 对最后一个数进行拼接
nextStr += `${count}${curNum}`
return recursive(n - 1, nextStr)
}
else {
return str;
}
}
};